const appId = "" //微信小程序appId
const appSecret = "" //微信小程序appSecret
const ak = '' //百度地图ak
const jwt = require("jsonwebtoken"); //webjsontoken

function getToken(openid) {
	// sign(加密数据，加密辅助，过期时间(单位/s))
	return jwt.sign({
		openid
	}, appSecret, {
		expiresIn: 60 * 60 * 24 * 30
	});
}

function verifyToken(token) {
	return jwt.verify(token, appSecret, (err, decode) => {
		if (err) { // 当token过期，或这是一个伪造的token，或这是无效的token时会触发此逻辑 需重新登录
			return {
				type: 0
			}
		} else {
			const now = Math.round(new Date() / 1000)
			// 如果token快过期 则刷新token
			if (decode.exp - now < 60 * 60 * 24) {
				const newToken = getToken(decode.openid);
				return {
					type: 2,
					newToken,
					...decode
				}
			} else {
				return {
					type: 1,
					...decode
				}
			}
		}
	})
}


module.exports = {
	appId,
	appSecret,
	ak,
	getToken,
	verifyToken
}
